#include<stdio.h>
#include<conio.h>
char flag[1000000001]; 
long init(long n){
     long i,k;
     for(i=2;i<=n;i++){             
           if(flag[i]==-1)continue;
           if(n%i==0)return i;
           for(k=n/i;k>=2;k--)flag[k*i]=-1;                 
     }
}
void display(long j,long a){
    long i,s=j;
    for(i=2;i<=s;i++){
        if(flag[i]==0){
            if(i!=2)printf(" ");
            if(i<s-i || i==2){
                printf("%ld",i*a);
                s-=i;
            }
            else {
                printf("%ld",s*a);
                s=0;
            }
        }
    }
    if(s>0)printf(" %ld",s*a);
}
int f(int n){
    return n<=1?n:2*f(n/2)+(n&1)*2-1; 
}  
int main(){
    printf("%d",f(2008));
    getch();
    long n,j;
    return 0;
    scanf("%ld",&n);
    j=init(n);
    if(j==2)printf("%ld %ld",n/2,n/2);
    else  display(j,n/j);
    getch();
    return 0;
}  
